/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.bs.beans.fiscal;

import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.io.Serializable;
import java.math.BigDecimal;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

/**
 *
 * @author Bone
 */
@Entity
@Table(name = "DETALHE_VEICULO")
public class DetalheVeiculo implements Serializable {
    @Transient
    private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "ID")
    private Integer id;
    @Column(name = "TIPO_OPERACAO")
    private Short tipoOperacao;
    @Column(name = "CHASSI")
    private String chassi;
    @Column(name = "COR")
    private String cor;
    @Column(name = "DESCRICAO_COR")
    private String descricaoCor;
    @Column(name = "POTENCIA_MOTOR")
    private String potenciaMotor;
    @Column(name = "CILINDRADAS")
    private String cilindradas;
    // @Max(value=?)  @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation
    @Column(name = "PESO_LIQUIDO")
    private BigDecimal pesoLiquido;
    @Column(name = "PESO_BRUTO")
    private BigDecimal pesoBruto;
    @Column(name = "NUMERO_SERIE")
    private String numeroSerie;
    @Column(name = "CAPACIDADE_MOTOR")
    private String capacidadeMotor;
    @Column(name = "DISTANCIA_ENTRE_EIXOS")
    private String distanciaEntreEixos;
    @Column(name = "ANO_FABRICACAO")
    private Short anoFabricacao;
    @Column(name = "TIPO_PINTURA")
    private String tipoPintura;
    @Column(name = "TIPO_VEICULO")
    private String tipoVeiculo;
    @Column(name = "ESPECIE_VEICULO")
    private String especieVeiculo;
    @Column(name = "CODIGO_VIN")
    private String codigoVin;
    @Column(name = "CONDICAO_VEICULO")
    private Short condicaoVeiculo;
    @Column(name = "COD_MARCA_MODELO")
    private Integer codMarcaModelo;
    @Column(name = "COD_COR")
    private Short codCor;
    @Column(name = "CAPACIDADE_MAXIMA")
    private Short capacidadeMaxima;
    @Column(name = "RESTRICAO")
    private Short restricao;

    public DetalheVeiculo() {
    }

    public DetalheVeiculo(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        Integer oldId = this.id;
        this.id = id;
        changeSupport.firePropertyChange("id", oldId, id);
    }

    public Short getTipoOperacao() {
        return tipoOperacao;
    }

    public void setTipoOperacao(Short tipoOperacao) {
        Short oldTipoOperacao = this.tipoOperacao;
        this.tipoOperacao = tipoOperacao;
        changeSupport.firePropertyChange("tipoOperacao", oldTipoOperacao, tipoOperacao);
    }

    public String getChassi() {
        return chassi;
    }

    public void setChassi(String chassi) {
        String oldChassi = this.chassi;
        this.chassi = chassi;
        changeSupport.firePropertyChange("chassi", oldChassi, chassi);
    }

    public String getCor() {
        return cor;
    }

    public void setCor(String cor) {
        String oldCor = this.cor;
        this.cor = cor;
        changeSupport.firePropertyChange("cor", oldCor, cor);
    }

    public String getDescricaoCor() {
        return descricaoCor;
    }

    public void setDescricaoCor(String descricaoCor) {
        String oldDescricaoCor = this.descricaoCor;
        this.descricaoCor = descricaoCor;
        changeSupport.firePropertyChange("descricaoCor", oldDescricaoCor, descricaoCor);
    }

    public String getPotenciaMotor() {
        return potenciaMotor;
    }

    public void setPotenciaMotor(String potenciaMotor) {
        String oldPotenciaMotor = this.potenciaMotor;
        this.potenciaMotor = potenciaMotor;
        changeSupport.firePropertyChange("potenciaMotor", oldPotenciaMotor, potenciaMotor);
    }

    public String getCilindradas() {
        return cilindradas;
    }

    public void setCilindradas(String cilindradas) {
        String oldCilindradas = this.cilindradas;
        this.cilindradas = cilindradas;
        changeSupport.firePropertyChange("cilindradas", oldCilindradas, cilindradas);
    }

    public BigDecimal getPesoLiquido() {
        return pesoLiquido;
    }

    public void setPesoLiquido(BigDecimal pesoLiquido) {
        BigDecimal oldPesoLiquido = this.pesoLiquido;
        this.pesoLiquido = pesoLiquido;
        changeSupport.firePropertyChange("pesoLiquido", oldPesoLiquido, pesoLiquido);
    }

    public BigDecimal getPesoBruto() {
        return pesoBruto;
    }

    public void setPesoBruto(BigDecimal pesoBruto) {
        BigDecimal oldPesoBruto = this.pesoBruto;
        this.pesoBruto = pesoBruto;
        changeSupport.firePropertyChange("pesoBruto", oldPesoBruto, pesoBruto);
    }

    public String getNumeroSerie() {
        return numeroSerie;
    }

    public void setNumeroSerie(String numeroSerie) {
        String oldNumeroSerie = this.numeroSerie;
        this.numeroSerie = numeroSerie;
        changeSupport.firePropertyChange("numeroSerie", oldNumeroSerie, numeroSerie);
    }

    public String getCapacidadeMotor() {
        return capacidadeMotor;
    }

    public void setCapacidadeMotor(String capacidadeMotor) {
        String oldCapacidadeMotor = this.capacidadeMotor;
        this.capacidadeMotor = capacidadeMotor;
        changeSupport.firePropertyChange("capacidadeMotor", oldCapacidadeMotor, capacidadeMotor);
    }

    public String getDistanciaEntreEixos() {
        return distanciaEntreEixos;
    }

    public void setDistanciaEntreEixos(String distanciaEntreEixos) {
        String oldDistanciaEntreEixos = this.distanciaEntreEixos;
        this.distanciaEntreEixos = distanciaEntreEixos;
        changeSupport.firePropertyChange("distanciaEntreEixos", oldDistanciaEntreEixos, distanciaEntreEixos);
    }

    public Short getAnoFabricacao() {
        return anoFabricacao;
    }

    public void setAnoFabricacao(Short anoFabricacao) {
        Short oldAnoFabricacao = this.anoFabricacao;
        this.anoFabricacao = anoFabricacao;
        changeSupport.firePropertyChange("anoFabricacao", oldAnoFabricacao, anoFabricacao);
    }

    public String getTipoPintura() {
        return tipoPintura;
    }

    public void setTipoPintura(String tipoPintura) {
        String oldTipoPintura = this.tipoPintura;
        this.tipoPintura = tipoPintura;
        changeSupport.firePropertyChange("tipoPintura", oldTipoPintura, tipoPintura);
    }

    public String getTipoVeiculo() {
        return tipoVeiculo;
    }

    public void setTipoVeiculo(String tipoVeiculo) {
        String oldTipoVeiculo = this.tipoVeiculo;
        this.tipoVeiculo = tipoVeiculo;
        changeSupport.firePropertyChange("tipoVeiculo", oldTipoVeiculo, tipoVeiculo);
    }

    public String getEspecieVeiculo() {
        return especieVeiculo;
    }

    public void setEspecieVeiculo(String especieVeiculo) {
        String oldEspecieVeiculo = this.especieVeiculo;
        this.especieVeiculo = especieVeiculo;
        changeSupport.firePropertyChange("especieVeiculo", oldEspecieVeiculo, especieVeiculo);
    }

    public String getCodigoVin() {
        return codigoVin;
    }

    public void setCodigoVin(String codigoVin) {
        String oldCodigoVin = this.codigoVin;
        this.codigoVin = codigoVin;
        changeSupport.firePropertyChange("codigoVin", oldCodigoVin, codigoVin);
    }

    public Short getCondicaoVeiculo() {
        return condicaoVeiculo;
    }

    public void setCondicaoVeiculo(Short condicaoVeiculo) {
        Short oldCondicaoVeiculo = this.condicaoVeiculo;
        this.condicaoVeiculo = condicaoVeiculo;
        changeSupport.firePropertyChange("condicaoVeiculo", oldCondicaoVeiculo, condicaoVeiculo);
    }

    public Integer getCodMarcaModelo() {
        return codMarcaModelo;
    }

    public void setCodMarcaModelo(Integer codMarcaModelo) {
        Integer oldCodMarcaModelo = this.codMarcaModelo;
        this.codMarcaModelo = codMarcaModelo;
        changeSupport.firePropertyChange("codMarcaModelo", oldCodMarcaModelo, codMarcaModelo);
    }

    public Short getCodCor() {
        return codCor;
    }

    public void setCodCor(Short codCor) {
        Short oldCodCor = this.codCor;
        this.codCor = codCor;
        changeSupport.firePropertyChange("codCor", oldCodCor, codCor);
    }

    public Short getCapacidadeMaxima() {
        return capacidadeMaxima;
    }

    public void setCapacidadeMaxima(Short capacidadeMaxima) {
        Short oldCapacidadeMaxima = this.capacidadeMaxima;
        this.capacidadeMaxima = capacidadeMaxima;
        changeSupport.firePropertyChange("capacidadeMaxima", oldCapacidadeMaxima, capacidadeMaxima);
    }

    public Short getRestricao() {
        return restricao;
    }

    public void setRestricao(Short restricao) {
        Short oldRestricao = this.restricao;
        this.restricao = restricao;
        changeSupport.firePropertyChange("restricao", oldRestricao, restricao);
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof DetalheVeiculo)) {
            return false;
        }
        DetalheVeiculo other = (DetalheVeiculo) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "Apagar.DetalheVeiculo[ id=" + id + " ]";
    }

    public void addPropertyChangeListener(PropertyChangeListener listener) {
        changeSupport.addPropertyChangeListener(listener);
    }

    public void removePropertyChangeListener(PropertyChangeListener listener) {
        changeSupport.removePropertyChangeListener(listener);
    }
    
}
